package cn.cdeden.knowledge.controller.recycle.factory;


import cn.cdeden.common.core.domain.R;
import cn.cdeden.common.core.utils.page.TableDataInfo;
import cn.cdeden.knowledge.domain.FilesTreeRecycle;
import cn.cdeden.knowledge.domain.dto.FilesTreeRecycleParam;
import cn.cdeden.knowledge.domain.vo.FilesTreeRecycleVo;
import io.undertow.util.BadRequestException;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface RecycleInterface {

    /**
     * 删除文件树
     * @param ids
     * @param info
     * @return
     */
    boolean deleteBatch(List<String> ids, String info) throws BadRequestException;


    //    查询
    /**
     * @Description // 查询数据
     * @param param
     * @param pageable
     * @return com.cdyd.ecm.base.PageInfo<com.cdyd.ecm.file.recycle.domain.vo.FilesTreeRecycleVo>
     **/
    TableDataInfo<FilesTreeRecycleVo> selectRecycleAll(FilesTreeRecycleParam param, Pageable pageable);



    /**
     * @Description // 回收站数据删除
     * @param ids
     * @return boolean
     **/
    List<FilesTreeRecycle> deleteRecycle(List<String> ids , String type, String teamId) throws BadRequestException;



    /**
     * @Description // 一级回收站恢复
     * @param ids
     * @return com.cdyd.ecm.resp.BaseRespResult
     **/
    R recoverFileList(List<String> ids, String teamId) throws BadRequestException;



}
